#include "asio_timeout.h"
#include <asio.hpp>
#include <iostream>

int main() {
    asio::io_context io;

    auto timer = std::make_shared<TimerWrapper>(io);

    int count = 0;
    timer->start(std::chrono::seconds(1), [&count](){
        std::cout << "Tick " << count << std::endl;
        count++;
        return count < 5;  // 小于 5 继续循环，>=5 停止
    }, true);  // 第一次立即触发
    //});  // 第一次立即触发

    io.run();

    std::cout << "Timer stopped after 5 ticks" << std::endl;
}

